VBA程式由Sub和Function所組成,Sub為巨集,在多個巨集中常常會使用到重複的功能,這時候就可以把重複使用的功能寫成Function。
使用Sub和End Sub包圍,中間的部分就是程序的程式內容,程序沒有回傳值,可以在括號中加上傳入的參數。
Sub Hello()
MsgBox ("Hello, world!")
End Sub
Function函數則為Function和End Function包圍,括號中加上傳入的參數,但函數需要回傳值,指定回傳值的方式是將函數名稱指定成回傳值。
Function TotalPrice(price, num)
TotalPrice = price * num
End Function
這個TotalPrice()
函數的參數為price和num,而函數的返回值就是透過兩者相乘來得到結果,結果賦值給了TotalPrice(),所以函數回傳值就是指定函數名稱回傳值。
如下:
TotalPrice = price * num
在程序與函數中需要跳出時,可以呼叫Exit的關鍵字來中斷再執行的程序或函數。
如下:
Exit Sub //中斷程序
Exit Function //中斷函數
參考資料
https://blog.gtwang.org/programming/excel-vba-function-and-sub/